home *** CD-ROM | disk | FTP | other *** search
/ PC User 2003 January / Disc 3 / Amethyst.iso / live / lisa / usr / lib / rpm-3.0.6 / macros.OL < prev    next >
Encoding:
Text File  |  2000-07-05  |  4.7 KB  |  160 lines

  1. #############################################################
  2. # $Id: macros.OL,v 1.10 2000/06/30 09:07:53 ray Exp ray $
  3.  
  4. #############################################################
  5. # Default macros for Caldera OpenLinux packages...
  6. # (still require a modified rpm-binary?!)
  7.  
  8. # simple ones
  9. %fixSymlinks         /usr/lib/rpm-3.0.6/fixsymlinks.pl
  10. %fixUP            /usr/lib/rpm-3.0.6/fixup.pl
  11. %mkCopyright          /usr/lib/rpm-3.0.6/mkcopyright.pl
  12. %mkLists        /usr/lib/rpm-3.0.6/mklists.pl
  13. %ckLibC5        /usr/lib/rpm-3.0.6/cklibc5.pl
  14.  
  15. # a little more complex ...
  16. ## macros intended for (exclusive) use by other macros...
  17. %_DESTDIR     \
  18.   DESTDIR=$RPM_BUILD_ROOT;export DESTDIR
  19.  
  20. %_BaseEnv     \
  21.   %{_DESTDIR}; GZIP="-v9nf";export GZIP
  22.  
  23. %_MANPATHS    \
  24.   MANPATHS=`find $DESTDIR -type d -name "man[1-9n]" -print`
  25.  
  26. %_CheckAndRemove    \
  27.   { perl -e '$_=$ENV{DESTDIR}."/"; exit (!m:/tmp/\\w\\S+/: || m:/\\.\\./:)' &&\
  28.   rm -rf $DESTDIR; } || { echo "Invalid BuildRoot: '$DESTDIR'!" 1>&2; false; }
  29.  
  30. %_UID        \
  31.   { [ -n "$UID" ] || { UID=`id -u`; export UID; }; }
  32.  
  33. ## and now for the goodies!  :*)
  34. ### predicates (preferably without comments...)
  35. %NoBuildCheck    \
  36.   { [ "$COL_BUILDCHECK" != "true" ]&& echo "*** %%BuildCheck disabled" 1>&2; }
  37.  
  38. %IsNotRoot    {{ %{_UID}; [ "$UID" -gt 0 ]; }}
  39.  
  40. %IsRoot        {{ %{_UID}; [ "$UID" -eq 0 ]; }}
  41.  
  42. %IsLSB        [ "%{LSB}" = "true" ]
  43.  
  44. %IsNotLSB    ! %{IsLSB}
  45.  
  46. ### LSB-enforcement
  47. %_LSBdoc    \
  48.   [ ! -d $DESTDIR/usr/doc ] || { \
  49.     echo "*** /usr/doc violates LSB." 1>&2; exit 1; \
  50.   }
  51. %_LSBinfo    \
  52.   [ ! -d $DESTDIR/usr/info ] || { \
  53.     echo "*** /usr/info violates LSB." 1>&2; exit 1; \
  54.   }
  55. %_LSBman    \
  56.   [ ! -d $DESTDIR/usr/man ] || { \
  57.     echo "*** /usr/man violates LSB." 1>&2; exit 1; \
  58.   }
  59. %_LSBroundup    \
  60.   set +x; LSBcount=0 \
  61.   for d in /usr/{doc,info,man} /var/state; do \
  62.     [ ! -d $DESTDIR/$d ] || { \
  63.       LSBcount=$[$LSBcount + 1]; echo "*** use of '$d' violates LSB." 1>&2; \
  64.     } \
  65.   done \
  66.   [ $LSBcount = 0 ] || exit $LSBcount; set -x
  67.  
  68. ### installation set- and cleanup
  69. %DESTDIR        # %%{DESTDIR}\
  70.   %{_BaseEnv}
  71.  
  72. %mkDESTDIR    # %%{mkDESTDIR}\
  73.   %{_BaseEnv}\
  74.   #%%{ckLibC5} . || true\
  75.   %{_CheckAndRemove}\
  76.   mkdir -p $DESTDIR
  77.  
  78. %rmDESTDIR    # %%{rmDESTDIR}\
  79.   %{_BaseEnv};%{IsNotLSB}||{ %{_LSBroundup}; } \
  80.   %{IsNotRoot}||%{_CheckAndRemove}
  81.  
  82. ### man- and info-pages
  83. %MANPATHS    # %%{MANPATHS}\
  84.   %{_MANPATHS}
  85.  
  86. %fixManPagesLSB    # %%{fixManPagesLSB}\
  87.   if [ "%{_mandir}" != "/usr/man" -a -d $DESTDIR/usr/man ]; then \
  88.     mkdir -p $DESTDIR%{_mandir}%{manEN} \
  89.     [ "$(echo $DESTDIR/usr/man/man?)" = "$DESTDIR/usr/man/man?" ] || \
  90.       mv $DESTDIR/usr/man/man? $DESTDIR%{_mandir}%{manEN} \
  91.     [ "$(echo $DESTDIR/usr/man/*)" = "$DESTDIR/usr/man/*" ] || \
  92.       mv $DESTDIR/usr/man/* $DESTDIR%{_mandir} \
  93.     rmdir $DESTDIR/usr/man \
  94.   fi
  95.  
  96. %fixManPages    # %%{fixManPages}\
  97.   %{IsNotLSB} || %{fixManPagesLSB} \
  98.   [ -n "$MANPATHS" ] || %{_MANPATHS}\
  99.   if [ -n "$MANPATHS" ]; then \
  100.     chown -Rvc root.root $MANPATHS \
  101.     %{fixSymlinks} --man-gz $DESTDIR $MANPATHS \
  102.     find $MANPATHS -type f -not -name '*.gz' -print0 | \
  103.       xargs -0r gzip \
  104.   fi 
  105.  
  106. %fixInfoPagesLSB    # %%{fixInfoPagesLSB}\
  107.   if [ "%{_infodir}" != "/usr/info" -a -d $DESTDIR/usr/info ]; then \
  108.     mkdir -p $DESTDIR%{_infodir} \
  109.     [ "$(echo $DESTDIR/usr/info/*)" = "$DESTDIR/usr/info/*" ] || \
  110.       mv $DESTDIR/usr/info/* $DESTDIR%{_infodir} \
  111.     rmdir $DESTDIR/usr/info \
  112.   fi
  113.  
  114. %fixInfoPages    # %%{fixInfoPages}\
  115.   %{IsNotLSB} || %{fixInfoPagesLSB} \
  116.   if [ -d "$DESTDIR%{_infodir}" ]; then \
  117.     find $DESTDIR%{_infodir} -type f -not -name '*.gz' -print0 | \
  118.       xargs -0r gzip \
  119.   fi \
  120.   [ ! -e $DESTDIR%{_infodir}/dir.gz ] || rm -f $DESTDIR%{_infodir}/dir.gz 
  121.  
  122.  
  123. #  configuration "constants"
  124. ## introduced for LSB cron: hide directories for application installed snippets
  125. %Cprefix           /etc/cron.d
  126. ### prefix for sym-links from %C<period>dir/ to %Cprefix/%Scriptsdir/
  127. %Crelprefix        ..
  128. %Ctabsdir          tabs.d
  129. %Cscriptsdir       scripts.d
  130. ### pattern reflecting the naming-convention for consistency-checks...
  131. %Cpattern          %{Cprefix}/[A-Z]*/[0-9][0-9]
  132. ### proposed directories/intervals
  133. %Cyearlydir        %{Cprefix}/Yearly
  134. %Cmonthlydir       %{Cprefix}/Monthly
  135. %Cweeklydir        %{Cprefix}/Weekly
  136. %Cdailydir         %{Cprefix}/Daily
  137. ### inofficial, but possible extensions
  138. %Cquarterlydir     %{Cprefix}/Quarterly
  139. %Cbimonthlydir      %{Cprefix}/Bimonthly
  140. %Cbiweeklydir      %{Cprefix}/Biweekly
  141. ### DEPRECATED!
  142. %Chourlydir        %{Cprefix}/Hourly
  143.  
  144. ## introduced for FHS-2.1 4.7.2:  hide default locale for man-pages
  145. %manEN        %{nil}
  146.  
  147. ## introduced for LSB init: abstract from real locations
  148. %SVIdir        /etc/rc.d/init.d
  149. %SVIrcp        /etc/rc.d
  150. %SVIrcd        /etc/rc.d
  151. ### prefix for sym-links from %SVIrcp/rc?.d/ to %SVIdir/
  152. %SVIrel        ../init.d
  153.  
  154.  
  155. #  out-dated macros for compatibility
  156. %buildarch_lc    %{_arch}
  157. %buildarch    %{_arch}
  158. %buildos_lc    %{_os}
  159. %buildos    %{_os}
  160.